Subscriber Characterization System with Filters

ABSTRACT

A subscriber characterization system with filters in which the subscriber&#39;s selections are monitored, including monitoring of the time duration programming is watched, the volume at which the programming is listened to, and any available information regarding the type of programming, including category and sub-category of the programming. The raw subscriber selection data is then processed to eliminate data associated with irrelevant activities such as channel surfing, channel jumping, or extended periods of inactivity. The actual subscriber selection data is used to form program characteristics vectors. The programming characteristics vectors can be used in combination with the actual subscriber selection data to form a subscriber profile. Heuristic rules indicating the relationships between programming choices and demographics can be applied to generate additional probabilistic subscriber profiles regarding demographics and programming and product interests.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.09/516,983, filed Mar. 1, 2000, and entitled Subscriber CharacterizationSystem with Filters, which is a continuation-in-part of U.S. patentapplication Ser. No. 09/204,888, filed Dec. 3, 1998, now U.S. Pat. No.7,150,030, the entire disclosures of which are incorporated herein byreference.

BACKGROUND OF THE INVENTION

Subscribers face an increasingly large number of choices forentertainment programming, which is delivered over networks such ascable TV systems, over-the-air broadcast systems, and switched digitalaccess systems which use telephone company twisted wire pairs for thedelivery of signals.

Cable television service providers have typically provided one-waybroadcast services but now offer high-speed data services and cancombine traditional analog broadcasts with digital broadcasts and accessto Internet web sites. Telephone companies can offer digital data andvideo programming on a switched basis over digital subscriber linetechnology. Although the subscriber may only be presented with onechannel at a time, channel change requests are instantaneouslytransmitted to centralized switching equipment and the subscriber canaccess the programming in a broadcast-like manner. Internet ServiceProviders (ISPs) offer Internet access and can offer access to text,audio, and video programming which can also be delivered in abroadcast-like manner in which the subscriber selects “channels”containing programming of interest. Such channels may be offered as partof a video programming service or within a data service and can bepresented within an Internet browser.

Along with the multitude of programming choices which the subscriberfaces, subscribers are subject to advertisements, which in many casessubsidize or pay for the entire cost of the programming. Whileadvertisements are sometimes beneficial to subscribers and deliverdesired information regarding specific products or services, consumersgenerally view advertising as a “necessary evil” for broadcast-typeentertainment.

In order to deliver more targeted programming and advertising tosubscribers, it is necessary to understand their likes and dislikes to agreater extent than is presently done today. Systems which identifysubscriber preferences based on their purchases and responses toquestionnaires allow for the targeted marketing of literature in themail, but do not in any sense allow for the rapid and precise deliveryof programming and advertising which is known to have a high probabilityof acceptance to the subscriber. In order to determine which programmingor advertising is appropriate for the subscriber, knowledge of thatsubscriber and the subscriber product and programming preferences isrequired.

Specific information regarding a subscriber's viewing habits or theInternet web sites they have accessed can be stored for analysis, butsuch records are considered private and subscribers are not generallywilling to have such information leave their control. Although there areregulatory models which permit the collection of such data on a “noticeand consent” basis, there is a general tendency towards legal ruleswhich prohibit such raw data to be collected.

SUMMARY OF THE INVENTION

For the foregoing reasons, there is a need for a subscribercharacterization system which may generate and store subscribercharacteristics that reflect the probable demographics and preferencesof the subscriber and household.

The present invention includes a system for characterizing subscriberswatching video or multimedia programming based on monitoring theirdetailed selection choices including the time duration of their viewing,the number of channel changes, the volume at which the programming islistened, the program selection, and collecting text information aboutthat programming to determine what type of programming the subscriber ismost interested in.

Furthermore, the system is equipped with one or more filters that assistin determining selection data associated with irrelevant activities bythe subscriber which should be excluded from the actual viewingselection data, e.g., selection data associated with channel surfingand/or channel jumping (up and down) activities by the subscriber.

The channel surfing activity refers to one or more rapid channel changesinitiated by the subscriber for the purpose of selecting achannel/program for actual viewing. Generally, the subscriber selects achannel, and views the contents of the program at the selected channelfor few seconds (about 3-4 seconds), and then changes the channel toview the contents of the next channel. Such rapid changes generallyoccur a few times in a row before the subscriber selects achannel/programming for actual viewing. The filters of the presentinvention are configured to detect channel surfing activities by thesubscriber by monitoring and evaluating associated viewing times,thereby the channel surfing activities are not considered in thedetermination of actual viewing selections.

The channel jumping refers to an activity wherein the subscriber changeschannels very rapidly in order to move from an existing channel to adesired channel. Therein, the subscriber is not channel surfing, insteadthe subscriber already knows the intended channel/program for actualviewing and is jumping channels to reach the desired channels, e.g., thesubscriber is at channel number 6, and wants to go to channel number 12,the subscriber may jump the channel by changing the channel six times.Generally, in channel jumping, the channel changes occur very rapidlyand the viewing time at the each channel is very brief, e.g., less thanone second. The filters of the present invention are configured todetect channel jumping, thereby the channel jumping activities are notconsidered in the determination of actual viewing selections.

The filters of the present invention are also capable of monitoringextended spans of inactivity, e.g., a lack of any channel changes,volume changes, or any other selection changes activity for more than 3hours. Such spans of inactivity are considered “dead periods” implyingthat subscriber is not actively watching the video and/or othermultimedia programming. The reasons for such dead periods may be causedby the fact that the subscriber has left the room, or the subscriber isnot active (e.g., the subscriber has gone to sleep or has dozed off), orthe fact that the subscriber is actively engaging in another activitywithin the room and is not attending to the programming.

The system of the present invention analyzes the actual viewingselections made by the subscriber or the subscriber household, andgenerates a demographic description of the subscriber or household. Thisdemographic description describes the probable age, income, gender andother demographics. The resulting characterization includesprobabilistic determinations of what other programming or products thesubscriber/household will be interested in.

The present invention also encompasses the use of heuristic rules inlogical form or expressed as conditional probabilities to aid in forminga subscriber profile. The heuristic rules in logical form allow thesystem to apply generalizations that have been learned from externalstudies to obtain a characterization of the subscriber. In the case ofconditional probabilities, determinations of the probable content of aprogram can be applied in a mathematical step to a matrix of conditionalprobabilities to obtain probabilistic subscriber profiles indicatingprogram and product likes and dislikes as well for determiningprobabilistic demographic data.

In accordance with the principles of the present invention, theresulting probabilistic information can be stored locally and controlledby the subscriber, or can be transferred to a third party that canprovide access to the subscriber characterization. The information canalso be encrypted to prevent unauthorized access in which case only thesubscriber or someone authorized by the subscriber can access the data.

These and other features and objects of the invention will be more fullyunderstood from the following detailed description of the preferredembodiments which should be read in light of the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthe specification, illustrate the embodiments of the present inventionand, together with the description serve to explain the principles ofthe invention.

In the drawings:

FIG. 1A illustrates a context diagram for a subscriber characterizationsystem having filters;

FIG. 1B illustrates a functional diagram of the processing utilized byfilters;

FIG. 2 illustrates a block diagram for a realization of a subscribermonitoring system for receiving video signals;

FIG. 3 illustrates a block diagram of a channel processor;

FIG. 4 illustrates a block diagram of a computer for a realization ofthe subscriber monitoring system;

FIG. 5 illustrates a channel sequence and volume over a twenty-four (24)hour period;

FIG. 6A illustrates a time of day detailed record;

FIG. 6B illustrates the processing utilized by filters of FIG. 1A todetermine channel surfing activities;

FIG. 6C illustrates the processing utilized by filters of FIG. 6C todetermine channel jumping activities;

FIG. 7 illustrates a household viewing habits statistical table;

FIG. 8A illustrates an entity-relationship diagram for the generation ofprogram characteristics vectors;

FIG. 8B illustrates a flowchart for program characterization;

FIGS. 9A illustrates a deterministic program category vector;

FIG. 9B illustrates a deterministic program sub-category vector;

FIG. 9C illustrates a deterministic program rating vector;

FIG. 9D illustrates a probabilistic program category vector;

FIG. 9E illustrates a probabilistic program sub-category vector;

FIG. 9F illustrates a probabilistic program content vector;

FIG. 10A illustrates a set of logical heuristic rules;

FIG. 10B illustrates a set of heuristic rules expressed in terms ofconditional probabilities;

FIG. 11 illustrates an entity-relationship diagram for the generation ofprogram demographic vectors;

FIG. 12 illustrates a program demographic vector;

FIG. 13 illustrates an entity-relationship diagram for the generation ofhousehold session demographic data and household session interestprofiles;

FIG. 14 illustrates an entity-relationship diagram for the generation ofaverage and session household demographic characteristics;

FIG. 15 illustrates average and session household demographic data;

FIG. 16 illustrates an entity-relationship diagram for generation of ahousehold interest profile; and

FIG. 17 illustrates a household interest profile including programmingand product profiles.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

In describing a preferred embodiment of the invention illustrated in thedrawings, specific terminology will be used for the sake of clarity.However, the invention is not intended to be limited to the specificterms so selected, and it is to be understood that each specific termincludes all technical equivalents that operate in a similar manner toaccomplish a similar purpose.

With reference to the drawings, in general, and FIGS. 1 through 17 inparticular, the apparatus of the present invention is disclosed.

The present invention is directed at an apparatus for generating asubscriber profile that contains useful information regarding thesubscriber likes and dislikes. Such a profile is useful for systemswhich provide targeted programming or advertisements to the subscriber,and allow material (programs or advertisements) to be directed atsubscribers who will have a high probability of liking the program or ahigh degree of interest in purchasing the product.

Since there are typically multiple individuals in a household, thesubscriber characterization may not be a characterization of anindividual subscriber but may instead be a household average. When usedherein, the term subscriber refers both to an individual subscriber aswell as the average characteristics of a household of multiplesubscribers.

In the present system the programming viewed by the subscriber, bothentertainment and advertisement, can be studied and processed by thesubscriber characterization system. In this study, system filters areconfigured to eliminate selection data associated with irrelevantactivities from the actual selection data. The actual selection data isthen used to determine the program characteristics. This determinationof the program characteristics is referred to as a programcharacteristics vector. This vector may be a truly one-dimensionalvector, but can also be represented as an n dimensional matrix which canbe decomposed into vectors.

The subscriber profile vector represents a profile of the subscriber (orthe household of subscribers) and can be in the form of a demographicprofile (average or session) or a program or product preference vector.The program and product preference vectors are considered to be part ofa household interest profile which can be thought of as an n dimensionalmatrix representing probabilistic measurements of subscriber interests.

In the case that the subscriber profile vector is a demographic profile,the subscriber profile vector indicates a probabilistic measure of theage of the subscriber or average age of the viewers in the household,sex of the subscriber, income range of the subscriber or household, andother such demographic data. Such information comprises householddemographic characteristics and is composed of both average and sessionvalues. Extracting a single set of values from the household demographiccharacteristics can correspond to a subscriber profile vector.

The household interest profile can contain both programming and productprofiles, with programming profiles corresponding to probabilisticdeterminations of what programming the subscriber (household) is likelyto be interested in, and product profiles corresponding to what productsthe subscriber (household) is likely to be interested in. These profilescontain both an average value and a session value, the average valuebeing a time average of data, where the averaging period may be severaldays, weeks, months, or the time between resets of unit.

Since a viewing session is likely to be dominated by a particularviewer, the session values may, in some circumstances, correspond mostclosely to the subscriber values, while the average values may, in somecircumstances, correspond most closely to the household values.

FIG. 1A depicts the context diagram of a preferred embodiment of aSubscriber Characterization System with Filters (SCSF) 100. A contextdiagram, in combination with entity-relationship diagrams, provide abasis from which one skilled in the art can realize the presentinvention. The present invention can be realized in a number ofprogramming languages including C, C++, Perl, and Java, although thescope of the invention is not limited by the choice of a particularprogramming language or tool. Object oriented languages have severaladvantages in terms of construction of the software used to realize thepresent invention, although the present invention can be realized inprocedural or other types of programming languages known to thoseskilled in the art.

Filters of SCSF 100 may be a computer means or a software moduleconfigured with some predetermined rules. These predetermined rulesassist in recognizing irrelevant activities and the elimination of theselection data from the raw subscriber selection data. Filters and theirrelated processing are described in detail later.

In the process of collecting raw subscriber selection data, the SCSF 100receives from a user 120 commands in the form of a volume control signal124 or program selection data 122 which can be in the form of a channelchange but may also be an address request which requests the delivery ofprogramming from a network address. A record signal 126 indicates thatthe programming or the address of the programming is being recorded bythe user. The record signal 126 can also be a printing command, a taperecording command, a bookmark command or any other command intended tostore the program being viewed, or program address, for later use.

The material being viewed by the user 120 is referred to as sourcematerial 130. The source material 130, as defined herein, is the contentthat a subscriber selects and may consist of analog video, MotionPicture Expert Group (MPEG) digital video source material, other digitalor analog material, Hypertext Markup Language (HTML) or other type ofmultimedia source material. The subscriber characterization system 100can access the source material 130 received by the user 120 using astart signal 132 and a stop signal 134, which control the transfer ofsource related text 136 which can be analyzed as described herein.

In a preferred embodiment, the source related text 136 can be extractedfrom the source material 130 and stored in memory. The source relatedtext 136, as defined herein, includes source related textual informationincluding descriptive fields which are related to the source material130, or text which is part of the source material 130 itself. The sourcerelated text 136 can be derived from a number of sources including butnot limited to closed-captioning information, Electronic Program Guide(EPG) material, and text information in the source itself (e.g. text inHTML files).

Electronic Program Guide (EPG) 140 contains information related to thesource material 130 which is useful to the user 120. The EPG 140 istypically a navigational tool which contains source related informationincluding but not limited to the programming category, programdescription, rating, actors, and duration. The structure and content ofEPG data is described in detail in U.S. Pat. No. 5,596,373 assigned toSony Corporation and Sony Electronics which is herein incorporated byreference. As shown in FIG. 1, the EPG 140 can be accessed by the SCSF100 by a request EPG data signal 142 which results in the return of acategory 144, a sub-category 146, and a program description 148.

In one embodiment of the present invention, EPG data is accessed andprogram information such as the category 144, the sub-category 146, andthe program description 148 are stored in memory.

In another embodiment of the present invention, the source related text136 is the closed-captioning text embedded in the analog or digitalvideo signal. Such closed-captioning text can be stored in memory forprocessing to extract the program characteristic vectors 150.

The raw subscriber selection data 110 is accumulated from the monitoredactivities of the user. The raw subscriber selection data 110 includestime 11 2A, which corresponds to the time of an event, channel ID 114A,program ID 116A, program title 117A, volume level 118A, and channelchange record 119A. A detailed record of selection data is illustratedin FIG. 6A.

Generally, the raw subscriber selection data 110 contains the raw dataaccumulated over a predetermined period of time and relates to viewingselections made by the subscriber over the predetermined period of time.The filters of SCSF 100 evaluate the raw subscriber selection data 110,eliminate any selection data associated with irrelevant activities, andin turn generate actual subscriber selection data 199 that correspondsonly to the actual viewing selections made by the subscriber. The actualsubscriber selection data 199 comprises time 112B, which corresponds tothe time of an actual viewing event exclusive of channel surfing,channel jumping or dead periods, channel ID 114B, program ID 116B,program title 117B, volume level 118B, and channel change record 119B.

The raw subscriber selection data 110 may be processed in accordancewith some pre-determined heuristic rules to generate actual subscriberselection data 199. In one embodiment, the selection data associatedwith channel surfing, channel jumping and dead periods is eliminatedfrom the raw subscriber selection data to generate actual subscriberselection data 199.

Based on the actual subscriber selection data 199, SCSF 100 generatesone or more program characteristics vectors 150 which are comprised ofprogram characteristics data 152, as illustrated in FIG. 1. The programcharacteristics data 152, which can be used to create the programcharacteristics vectors 150 both in vector and table form, are examplesof source related information which represent characteristics of thesource material. In a preferred embodiment, the program characteristicsvectors 150 are lists of values which characterize the programming(source) material in accordance to the category 144, the sub-category146, and the program description 148. The present invention may also beapplied to advertisements, in which case program characteristics vectorscontain, as an example, a product category, a product sub-category, anda brand name.

As illustrated in FIG. 1A, the SCSF 100 uses heuristic rules 160. Theheuristic rules 160, as described herein, are composed of both logicalheuristic rules as well as heuristic rules expressed in terms ofconditional probabilities. The heuristic rules 160 can be accessed bythe SCSF 100 via a request rules signal 162 which results in thetransfer of a copy of rules 164 to the SCSF 100.

The SCSF 100 forms program demographic vectors 170 from programdemographics 172, as illustrated in FIG. 1A. The program demographicvectors 170 also represent characteristics of source related informationin the form of the intended or expected demographics of the audience forwhich the source material is intended.

In a preferred embodiment, household viewing data 197, as illustrated inFIG. 1A, is computed from the actual subscriber selection data 199. Thehousehold viewing data 197 is derived from the actual subscriberselection data 199 by looking at viewing habits at a particular time ofday over an extended period of time, usually several days or weeks, andmaking some generalizations regarding the viewing habits during thattime period. The SCSF 100 also transforms household viewing data 197 toform household viewing habits 195, i.e. statistical representation ofsubscriber/household viewing data illustrating patterns in viewing.

The program characteristics vector 150 is derived from the sourcerelated text 136 and/or from the EPG 140 by applying informationretrieval techniques. The details of this process are discussed inaccordance with FIG. 8.

The program characteristics vector 150 is used in combination with a setof the heuristic rules 160 to define a set of the program demographicvectors 170 illustrated in FIG. 1A describing the audience the programis intended for.

One output of the SCSF 100 is a household profile including householddemographic characteristics 190 and a household interest profile 180.The household demographic characteristics 190 resulting from thetransfer of household demographic data 192, and the household interestprofile 180, resulting from the transfer of household interests data182. Both the household demographics characteristics 190 and thehousehold interest profile 180 have a session value and an averagevalue, as will be discussed herein.

Referring now to FIG. 1B, exemplary processing of Filters is shown. Asmentioned before, filters 150 evaluate the subscriber selection data 110to determine any data associated with irrelevant selection activitiesand then generate actual subscriber selection data 199 which does notinclude irrelevant selection data. The irrelevant selection datagenerally corresponds to channel surfing, channel jumping, or deadperiods activities. These activities are generally recognized byreviewing corresponding viewing times. In the case of channel surfing orchannel jumping, the associated viewing times are very brief, a fewmilliseconds or a few seconds. In the case of dead periods, the viewingtime is relatively long having no actions, e.g., a few hours.

The monitoring system depicted in FIG. 2 is responsible for monitoringthe subscriber activities, and can be used to realize the SCSF 100. In apreferred embodiment, the monitoring system of FIG. 2 is located in atelevision set-top device or in the television itself. In an alternateembodiment, the monitoring system is part of a computer which receivesprogramming from a network.

In an application of the system for television services, an inputconnector 220 accepts the video signal coming either from an antenna,cable television input, or other network. The video signal can be analogor Digital MPEG. Alternatively, the video source may be a video streamor other multimedia stream from a communications network including theInternet.

As illustrated in FIG. 2, a system control unit 200 receives commandsfrom the user 120, decodes the command and forwards the command to thedestined module. In a preferred embodiment, the commands are entered viaa remote control to a remote receiver 205 or a set of selection buttons207 available at the front panel of the system control unit 200. In analternate embodiment, the commands are entered by the user 120 via akeyboard.

The system control unit 200 also contains a Central Processing Unit(CPU) 203 for processing and supervising all of the operations of thesystem control unit 200, a Read Only Memory (ROM) 202 containing thesoftware and fixed data, a Random Access Memory (RAM) 204 for storingdata. CPU 203, RAM 204, ROM 202, and I/O controller 201 are attached toa master bus 206. A power supply in a form of battery can also beincluded in the system control unit 200 for backup in case of poweroutage.

An input/output (I/O) controller 201 interfaces the system control unit200 with external devices. In a preferred embodiment, the I/O controller201 interfaces to the remote receiver 205 and a selection button such asthe channel change button on a remote control. In an alternateembodiment, it can accept input from a keyboard or a mouse.

The program selection data 122 is forwarded to a channel processor 210.The channel processor 210 tunes to a selected channel and the mediastream is decomposed into its basic components: the video stream, theaudio stream, and the data stream. The video stream is directed to avideo processor module 230 where it is decoded and further processed fordisplay to the TV screen. The audio stream is directed to an audioprocessor 240 for decoding and output to the speakers.

The data stream can be EPG data, closed-captioning text, Extended DataService (EDS) information, a combination of these, or an alternate typeof data. In the case of EDS the call sign, program name and other usefuldata are provided. In a preferred embodiment, the data stream is storedin a reserved location of the RAM 204. In an alternate embodiment, amagnetic disk is used for data storage. The system control unit 200writes also in a dedicated memory, which in a preferred embodiment isthe RAM 204, the selected channel, the time 112A of selection, thevolume level 118A and the program ID 116A and the program title 117A.Upon receiving the program selection data 122, the new selected channelis directed to the channel processor 210 and the system control unit 200writes to the dedicated memory the channel selection end time and theprogram title 117A at the time 112A of channel change. The systemcontrol unit 200 keeps track of the number of channel changes occurringduring the viewing time via the channel change record 119A. This dataforms part of the raw subscriber selection data 110.

The volume control signal 124A is sent to the audio processor 240. In apreferred embodiment, the volume level 118A selected by the user 120corresponds to the listening volume. In an alternate embodiment, thevolume level 118A selected by the user 120 represents a volume level toanother piece of equipment such as an audio system (home theatre system)or to the television itself. In such a case, the volume can be measureddirectly by a microphone or other audio sensing device which can monitorthe volume at which the selected source material is being listened.

A program change occurring while watching a selected channel is alsologged by the system control unit 200. Monitoring the content of theprogram at the time of the program change can be done by reading thecontent of the EDS. The EDS contains information such as the programtitle, which is transmitted via the VBI. A change on the program titlefield is detected by the monitoring system and logged as an event. In analternate embodiment, an EPG is present and program information can beextracted from the EPG. In a preferred embodiment, the programming datareceived from the EDS or EPG permits distinguishing betweenentertainment programming and advertisements.

FIG. 3 shows the block diagram of the channel processor 210. In apreferred embodiment, the input connector 220 connects to a tuner 300which tunes to the selected channel. A local oscillator can be used toheterodyne the signal to the IF signal. A demodulator 302 demodulatesthe received signal and the output is fed to an FEC decoder 304. Thedata stream received from the FEC decoder 304 is, in a preferredembodiment, in an MPEG format. In a preferred embodiment, systemdemultiplexer 306 separates out video and audio information forsubsequent decompression and processing, as well as ancillary data whichcan contain program related information.

The data stream presented to the system demultiplexer 306 consists ofpackets of data including video, audio and ancillary data. The systemdemultiplexer 306 identifies each packet from the stream ID and directsthe stream to the corresponding processor. The video data is directed tothe video processor module 230 and the audio data is directed to theaudio processor 240. The ancillary data can contain closed-captioningtext, emergency messages, program guide, or other useful information.

Closed-captioning text is considered to be ancillary data and is thuscontained in the video stream. The system demultiplexer 306 accesses theuser data field of the video stream to extract the closed-captioningtext. The program guide, if present, is carried on data streamidentified by a specific transport program identifier.

In an alternate embodiment, analog video can be used. For analogprogramming, ancillary data such as closed-captioning text or EDS dataare carried in a vertical blanking interval.

FIG. 4 shows the block diagram of a computer system for a realization ofthe subscriber monitoring system based on the reception of multimediasignals from a bi-directional network. A system bus 422 transports dataamongst the CPU 203, the RAM 204, Read Only Memory—Basic Input OutputSystem (ROM-BIOS) 406 and other components. The CPU 203 accesses a harddrive 400 through a disk controller 402. The standard input/outputdevices are connected to the system bus 422 through the I/O controller201. A keyboard is attached to the I/O controller 201 through a keyboardport 416 and the monitor is connected through a monitor port 418. Theserial port device uses a serial port 420 to communicate with the I/Ocontroller 201. Industry Standard Architecture (ISA) expansion slots 408and Peripheral Component Interconnect (PCI) expansion slots 410 allowadditional cards to be placed into the computer. In a preferredembodiment, a network card is available to interface a local area, widearea, or other network.

FIG. 5 illustrates a channel sequence and volume over a twenty-four(24)hour period. The Y-axis represents the status of the receiver in termsof on/off status and volume level. The X-axis represents the time ofday. The channels viewed are represented by the windows 501-506, with afirst channel 502 being watched followed by the viewing of a secondchannel 504, and a third channel 506 in the morning. In the evening afourth channel 501 is watched, a fifth channel 503, and a sixth channel505. A channel change is illustrated by a momentary transition to the“off” status and a volume change is represented by a change of level onthe Y-axis.

A detailed record of the raw subscriber selection data 110 isillustrated in FIG. 6A in a table format. A time column 602 contains thestarting time of every event occurring during the viewing time. AChannel ID column 604 lists the channels viewed or visited during thatperiod. A program title column 603 contains the titles of all programsviewed. A volume column 601 contains the volume level 118 at the time112 of viewing a selected channel.

Generally, the raw subscriber selection data 110 is unprocessed data andcomprises the data associated with irrelevant or inconsequentialactivities, e.g., channel surfing, channel jumping, or dead activities.Thus, before subscriber/household viewing habits 195 are determined, theraw subscriber selection data 110 is filtered to eliminate the dataassociated with irrelevant (inconsequential) activities such as channelsurfing, channel jumping, or dead period activities.

As illustrated in FIG. 6B, the channel surfing relates to an activitywherein the subscriber rapidly changes channels before arriving at achannel which may be of interest to him. During the channel surfingperiod, the viewing time of each intermediate channel is very brief,e.g., less than one minute. In this viewing time, the subscriber brieflyglances at the channel programming, and then moves on to the nextchannel.

One or more filters 115 of the present invention are configured tofilter out the surfing activity and only the actual viewing activity isconsidered in the actual make-up of household viewing habits. Forexample, in FIG. 6B, the viewing record illustrates that the viewingtime of each of the channels 2, 3, 4, 5 is less than a minute, however,the viewing time of channel 6 is about an hour. Filter 115 of thepresent invention evaluates this record, and then removes thecorresponding viewing times of channel 2, 3, 4, 5 from the viewingrecords. The viewing time of channel number 6 is kept as it is notindicative of the channel surfing, but of an actual viewing.

Similarly, the viewing record also indicates that the correspondingviewing times of each of channel numbers 7, 8, 9, 58, 57, 56, 55, 54, 53are about minute or less, however, the viewing time of channel 25 isabout 10 minutes. This implies that after the subscriber had completedthe viewing of channel number 6, the subscriber once again surfed thechannels to find a programming of interest at channel 25.

Filters 115 of the present invention are configured to evaluate theassociated viewing times and to remove the data associated with the mostof the channel surfing activities. For example, the viewing times of thechannel numbers 7, 8, 9, 58, 57, 56, 55, 54, and 53 are removed, but,the viewing time associated with channel number 25 is kept. Similarly,the viewing times associated with channels 24, 23, 99, 98, 97, and 2 areeliminated (indicate channel surfing) and the viewing time of channelnumber 3 is kept.

FIG. 6C illustrates processing involved in the elimination of viewingtimes associated with the channel jumping activities. The channeljumping activity is different than a channel surfing activity in a sensethat the subscriber already knows the intended programming (andcorresponding channel number) he wants to watch, and utilizes thechannel up or channel down button to arrive at the intended channel.

The viewing time of all the intermediate channels during channel jumpingactivity are generally very brief (less than a second). Also, as thechannel up or channel down button is utilized to reach the desiredchannels, generally, there exists an upwards or a downwards stream ofchannel changes, i.e., subscriber may jump through channels 2, 3, 4 and5 to reach channel number 6 (an intended channel). Similarly, subscriberjumps may through channel 7, 8, 9, 1, 11, 12, 13, 14, 15, and 16 toreach channel 17.

Filters 115 of the present invention are configured to eliminate thechannel jumping data from the actual viewing data. Filters generallyevaluate the associated viewing times, and all the viewing times whichcorrespond to channel jumping, e.g., are less than one second, areremoved from the viewing records. In the exemplary case of FIG. 6C, theviewing times of channel 15, and 14 are removed, but the viewing time ofchannel 13 is kept. Similarly, the viewing times of channel 14, 15, 16,17, 18, 19, 20, 21 are removed and the viewing time of channel 22 iskept.

Filters 115 are also configured to eliminate data associated with deadactivities, e.g., extended spans of inactivity. These extended spans ofinactivity indicate that the subscriber is not actively watching theprogramming, e.g., the subscriber has left the room, has gone to sleep,or is otherwise engaged in some other activity. These spans ofinactivity may be determined by evaluating channel change commands,volume change commands, or other program selection commands issued bythe subscriber. For example, if the evaluation of the viewing recordindicates that the subscriber has not issued either of the channelchange, volume change, on/off, or any other program selection command inlast three hours, it is assumed that subscriber is in an inactivecondition, and the remaining viewing time of that viewing session is notconsidered in the make-up of the household viewing habits 195. The spansof inactivity may be caused by many reasons, e.g., the subscriber hasgone to sleep or has dozed off, or the subscriber is actively engagingin another activity and is not attending to the programming. Also,it isgenerally known that subscribers often do not turn their televisions andother multimedia sources off before attending to some other activities,e.g. cooking in the kitchen, make a run to the nearby grocery store, orgoing to basement for a work-out, etc.

The filters 115 of the present invention are constantly filtering outthe irrelevant information associated with the channel surfingactivities, channel jumping activities, or with the periods ofinactivity, so that the data used for generating household viewinghabits is more illustrative of the actual viewing habits. The actualsubscriber selection data is then used to create household viewinghabits.

A representative statistical record corresponding to the householdviewing habits 195 is illustrated in FIG. 7. In a preferred embodiment,a time of day column 700 is organized in period of time includingmorning, mid-day, afternoon, night, and late night. In an alternateembodiment, smaller time periods are used. Column 702 lists the numberof minutes watched in each period. The average number of channel changesduring that period are included in column 704. The average volume isalso included in column 706. The last row of the statistical recordcontains the totals for the items listed in the minutes watched column702, the channel changes column 704 and the average volume 706.

FIG. 8A illustrates an entity-relationship diagram for the generation ofthe program characteristics vector 150. The context vector generationand retrieval technique described in U.S. Pat. No. 5,619,709, which isincorporated herein by reference, can be applied for the generation ofthe program characteristics vectors 150. Other techniques are well knownby those skilled in the art.

Referring to FIG. 8A, the source material 130 or the EPG 140 are passedthrough a program characterization process 800 to generate the programcharacteristics vectors 150. The program characterization process 800 isdescribed in accordance with FIG. 8B. Program content descriptorsincluding a first program content descriptor 802, a second programcontent descriptor 804 and an nth program content descriptor 806, eachclassified in terms of the category 144, the sub-category 146, and otherdivisions as identified in the industry accepted program classificationsystem, are presented to a context vector generator 820. As an example,the program content descriptor can be text representative of theexpected content of material found in the particular program category144. In this example, the program content descriptors 802, 804 and 806would contain text representative of what would be found in programs inthe news, fiction, and advertising categories respectively. The contextvector generator 820 generates context vectors for that set of sampletexts resulting in a first summary context vector 808, a second summarycontext vector 810, and an nth summary context vector 812. In theexample given, the summary context vectors 808, 810, and 812 correspondto the categories of news, fiction and advertising respectively. Thesummary vectors are stored in a local data storage system.

Referring to FIG. 8B, a sample of the source related text 136 which isassociated with the new program to be classified is passed to thecontext vector generator 820 which generates a program context vector840 for that program. The source related text 136 can be either thesource material 130, the EPG 140, or other text associated with thesource material. A comparison is made between the actual program contextvectors and the stored program content context vectors by computing, ina dot product computation process 830, the dot product of the firstsummary context vector 808 with the program context vector 840 toproduce a first dot product 814. Similar operations are performed toproduce second dot product 816 and nth dot product 818.

The values contained in the dot products 814, 816 and 818, while notprobabilistic in nature, can be expressed in probabilistic terms using asimple transformation in which the result represents a confidence levelof assigning the corresponding content to that program. The transformedvalues add up to one. The dot products can be used to classify aprogram, or form a weighted sum of classifications which results in theprogram characteristics vectors 150. In the example given, if the sourcerelated text 136 was from an advertisement, the nth dot product 818would have a high value, indicating that the advertising category wasthe most appropriate category, and assigning a high probability value tothat category. If the dot products corresponding to the other categorieswere significantly higher than zero, those categories would be assigneda value, with the result being the program characteristics vectors 150as shown in FIG. 9D.

For the sub-categories, probabilities obtained from the contentpertaining to the same sub-category 146 are summed to form theprobability for the new program being in that sub-category 146. At thesub-category level, the same method is applied to compute theprobability of a program being from the given category 144. The threelevels of the program classification system; the category 144, thesub-category 146 and the content, are used by the programcharacterization process 800 to form the program characteristics vectors150 which are depicted in FIGS. 9D-9F.

The program characteristics vectors 150 in general are represented inFIGS. 9A through 9F. FIGS. 9A, 9B and 9C are an example of deterministicprogram vectors. This set of vectors is generated when the programcharacteristics are well defined, as can occur when the source relatedtext 136 or the EPG 140 contains specific fields identifying thecategory 144 and the sub-category 146. A program rating can alsoprovided by the EPG 140.

In the case that these characteristics are not specified, a statisticalset of vectors is generated from the process described in accordancewith FIG. 8. FIG. 9D shows the probability that a program being watchedis from the given category 144. The categories are listed in the X-axis.The sub-category 146 is also expressed in terms of probability. This isshown in FIG. 9E. The content component of this set of vectors is athird possible level of the program classification, and is illustratedin FIG. 9F.

FIG. 10A illustrates sets of logical heuristics rules which form part ofthe heuristic rules 160. In a preferred embodiment, logical heuristicrules are obtained from sociological or psychological studies. Two typesof rules are illustrated in FIG. 10A. The first type links anindividual's viewing characteristics to demographic characteristics suchas gender, age, and income level. A channel changing rate rule 1030attempts to determine gender based on channel change rate. An incomerelated channel change rate rule 1010 attempts to link channel changerates to income brackets. A second type of rules links particularprograms to particular audience, as illustrated by a gender determiningrule 1050 which links the program category 144/sub-category 146 with agender. The result of the application of the logical heuristic rulesillustrated in FIG. 10A are probabilistic determinations of factorsincluding gender, age, and income level. Although a specific set oflogical heuristic rules has been used as an example, a wide number oftypes of logical heuristic rules can be used to realize the presentinvention. In addition, these rules can be changed based on learningwithin the system or based on external studies which provide moreaccurate rules.

FIG. 10B illustrates a set of the heuristic rules 160 expressed in termsof conditional probabilities. In the example shown in FIG. 10B, thecategory 144 has associated with it conditional probabilities fordemographic factors such as age, income, family size and gendercomposition. The category 144 has associated with it conditionalprobabilities that represent probability that the viewing group iswithin a certain age group dependent on the probability that they areviewing a program in that category 144.

FIG. 11 illustrates an entity-relationship diagram for the generation ofthe program demographic vectors 170. In a preferred embodiment, theheuristic rules 160 are applied along with the program characteristicvectors 150 in a program target analysis process 1100 to form theprogram demographic vectors 170. The program characteristic vectors 150indicate a particular aspect of a program, such as its violence level.The heuristic rules 160 indicate that a particular demographic group hasa preference for that program. As an example, it may be the case thatyoung males have a higher preference for violent programs than othersectors of the population. Thus, a program which has the programcharacteristic vectors 150 indicating a high probability of havingviolent content, when combined with the heuristic rules 160 indicatingthat “young males like violent programs,” will result, through theprogram target analysis process 1100, in the program demographic vectors170 which indicate that there is a high probability that the program isbeing watched by a young male.

The program target analysis process 1100 can be realized using softwareprogrammed in a variety of languages which processes mathematically theheuristic rules 160 to derive the program demographic vectors 170. Thetable representation of the heuristic rules 160 illustrated in FIG. 10Bexpresses the probability that the individual or household is from aspecific demographic group based on a program with a particular category144. This can be expressed, using probability terms as follow “theprobability that the individuals are in a given demographic groupconditional to the program being in a given category”. Referring to FIG.12, the probability that the group has certain demographiccharacteristics based on the program being in a specific category isillustrated.

Expressing the probability that a program is destined to a specificdemographic group can be determined by applying Bayes rule. Thisprobability is the sum of the conditional probabilities that thedemographic group likes the program, conditional to the category 144weighted by the probability that the program is from that category 144.In a preferred embodiment, the program target analysis can calculate theprogram demographic vectors by application of logical heuristic rules,as illustrated in FIG. 10A, and by application of heuristic rulesexpressed as conditional probabilities as shown in FIG. 10B. Logicalheuristic rules can be applied using logical programming and fuzzy logicusing techniques well understood by those skilled in the art, and arediscussed in the text by S. V. Kartalopoulos entitled “UnderstandingNeural Networks and Fuzzy Logic” which is incorporated herein byreference.

Conditional probabilities can be applied by simple mathematicaloperations multiplying program context vectors by matrices ofconditional probabilities. By performing this process over all thedemographic groups, the program target analysis process 1100 can measurehow likely a program is to be of interest to each demographic group.Those probabilities values form the program demographic vector 170represented in FIG. 12.

As an example, the heuristic rules expressed as conditionalprobabilities shown in FIG. 10B are used as part of a matrixmultiplication in which the program characteristics vector 150 ofdimension N, such as those shown in FIGS. 9A-9F is multiplied by an N×Mmatrix of heuristic rules expressed as conditional probabilities, suchas that shown in FIG. 10B. The resulting vector of dimension M is aweighted average of the conditional probabilities for each category andrepresents the household demographic characteristics 190. Similarprocessing can be performed at the sub-category and content levels.

FIG. 12 illustrates an example of the program demographic vector 170,and shows the extent to which a particular program is destined to aparticular audience. This is measured in terms of probability asdepicted in FIG. 12. The Y-axis is the probability of appealing to thedemographic group identified on the X-axis.

FIG. 13 illustrates an entity-relationship diagram for the generation ofhousehold session demographic data 1310 and household session interestprofile 1320. In a preferred embodiment, the actual subscriber selectiondata 199 is used along with the program characteristics vectors 150 in asession characterization process 1300 to generate the household sessioninterest profile 1320. The subscriber selection data 110 indicates whatthe subscriber is watching, for how long and at what volume they arewatching the program.

In a preferred embodiment, the session characterization process 1300forms a weighted average of the program characteristics vectors 150 inwhich the time duration the program is watched is normalized to thesession time (typically defined as the time from which the unit wasturned on to the present). The program characteristics vectors 150 aremultiplied by the normalized time duration (which is less than oneunless only one program has been viewed) and summed with the previousvalue. Time duration data, along with other subscriber viewinginformation, is available from the subscriber selection data 110. Theresulting weighted average of program characteristics vectors forms thehousehold session interest profile 1320, with each program contributingto the household session interest profile 1320 according to how long itwas watched. The household session interest profile 1320 is normalizedto produce probabilistic values of the household programming interestsduring that session.

In an alternate embodiment, the heuristic rules 160 are applied to boththe actual subscriber selection data 199 and the program characteristicsvectors 150 to generate the household session demographic data 1310 andthe household session interest profile 1320. In this embodiment,weighted averages of the program characteristics vectors 150 are formedbased on the actual subscriber selection data 199, and the heuristicrules 160 are applied. In the case of logical heuristic rules as shownin FIG. 10A, logical programming can be applied to make determinationsregarding the household session demographic data 1310 and the householdsession interest profile 1320. In the case of heuristic rules in theform of conditional probabilities such as those illustrated in FIG. 10B,a dot product of the time averaged values of the program characteristicsvectors can be taken with the appropriate matrix of heuristic rules togenerate both the household session demographic data 1310 and thehousehold session interest profile 1320.

Volume control measurements which form part of the actual subscriberselection data 199 can also be applied in the session characterizationprocess 1300 to form a household session interest profile 1320. This canbe accomplished by using normalized volume measurements in a weightedaverage manner similar to how time duration is used. Thus, muting a showresults in a zero value for volume, and the program characteristicsvector 150 for this show will not be averaged into the household sessioninterest profile 1320.

FIG. 14 illustrates an entity-relationship diagram for the generation ofaverage household demographic characteristics and session householddemographic characteristics 190. A household demographiccharacterization process 1400 generates the household demographiccharacteristics 190 represented in table format in FIG. 15. Thehousehold demographic characterization process 1400 uses the householdviewing habits 195 in combination with the heuristic rules 160 todetermine demographic data. For example, a household with a number ofminutes watched of zero during the day may indicate a household with twoworking adults. Both logical heuristic rules as well as rules based onconditional probabilities can be applied to the household viewing habits195 to obtain the household demographics characteristics 190.

The household viewing habits 195 is also used by the system to detectout-of-habits events. For example, if a household with a zero value forthe minutes watched column 702 at late night presents a session value atthat time via the household session demographic data 1310, this sessionwill be characterized as an out-of-habits event and the system canexclude such data from the average if it is highly probable that thedemographics for that session are greatly different than the averagedemographics for the household. Nevertheless, the results of theapplication of the household demographic characterization process 1400to the household session demographic data 1310 can result in valuablesession demographic data, even if such data is not added to the averagedemographic characterization of the household.

FIG. 15 illustrates the average and session household demographiccharacteristics. A household demographic parameters column 1501 isfollowed by an average value column 1505, a session value column 1503,and an update column 1507. The average value column 1505 and the sessionvalue column 1503 are derived from the household demographiccharacterization process 1400. The deterministic parameters such asaddress and telephone numbers can be obtained from an outside source orcan be loaded into the system by the subscriber or a network operator atthe time of installation. Updating of deterministic values is preventedby indicating that these values should not be updated in the updatecolumn 1507.

FIG. 16 illustrates an entity-relationship diagram for the generation ofthe household interest profile 180 in a household interest profilegeneration process 1600. In a preferred embodiment, the householdinterest profile generation process comprises averaging the householdsession interest profile 1320 over multiple sessions and applying thehousehold viewing habits 195 in combination with the heuristic rules 160to form the household interest profile 180 which takes into account boththe viewing preferences of the household as well as assumptions abouthouseholds/subscribers with those viewing habits and programpreferences.

FIG. 17 illustrates the household interest profile 180 which is composedof a programming types row 1709, a products types row 1707, and ahousehold interests column 1701, an average value column 1703, and asession value column 1705.

The product types row 1707 gives an indication as to what type ofadvertisement the household would be interested in watching, thusindicating what types of products could potentially be advertised with ahigh probability of the advertisement being watched in its entirety. Theprogramming types row 1709 suggests what kind of programming thehousehold is likely to be interested in watching. The householdinterests column 1701 specifies the types of programming and productswhich are statistically characterized for that household.

As an example of the industrial applicability of the invention, ahousehold will perform its normal viewing routine without beingrequested to answer specific questions regarding likes and dislikes.Children may watch television in the morning in the household, and maychange channels during commercials, or not at all. The television mayremain off during the working day, while the children are at school andday care, and be turned on again in the evening, at which time theparents may “surf” channels, mute the television during commercials, andultimately watch one or two hours of broadcast programming. The presentinvention provides the ability to characterize the household based onactual viewing selections, e.g., channel surfing, channel jumping ordead periods are not considered. Based on the actual subscriberselection data, the determinations are made that there are children andadults in the household, and program and product interests indicated inthe household interest profile 180 corresponds to a family of thatcomposition. For example, a household with two retired adults will havea completely different characterization which will be indicated in thehousehold interest profile 180.

Although this invention has been illustrated by reference to specificembodiments, it will be apparent to those skilled in the art thatvarious changes and modifications may be made which clearly fall withinthe scope of the invention. The invention is intended to be protectedbroadly within the spirit and scope of the appended claims.

1. A computer-implemented method of determining at least onecharacteristic of a video or audio presentation being presented to aviewer, the method comprising: (a) monitoring viewer interactions with amultimedia device; (b) processing the viewer interactions to obtainviewer interaction data corresponding to the viewer interactions; (c)retrieving one or more previously developed heuristic rules, wherein thepreviously developed heuristic rules relate at least one aspect of theviewer interaction data to the at least one characteristic of the videoor audio presentation, and wherein the previously developed heuristicrules have been previously developed through the application of at leastone heuristic process; (d) applying one or more of the previouslydeveloped heuristic rules to at least a subset of the viewer interactiondata; and (e) inferring the at least one characteristic of the video oraudio presentation being presented to the viewer based on theapplication of the previously developed heuristic rules.
 2. The methodof claim 1, wherein the heuristic rules are probabilistic in nature. 3.The method of claim 1, wherein the at least one inferred characteristicis expressed as a probability assigned by the heuristic rules based onthe viewer interaction data.
 4. The method of claim 1, wherein theviewer interaction data includes at least some subset of: (a) viewingtime per channel, category, or network; (b) channel changes per time;(c) average volume per time period, channel, category, or network; and(d) dwell time per channel, category, or network.
 5. The method of claim1, wherein the at least one heuristic process incorporates at least twotypes of analysis selected from the group consisting of exploratoryproblem-solving, self-learning, discovery, experiments, trial and error,inferences, educated guesses, market studies, human knowledge andexperience.
 6. The method of claim 1, further comprising: (f) reportingthe at least one inferred characteristic, wherein the report includespredictive values of the at least one inferred characteristic and atleast one other characteristic, and wherein the predictive values areassigned by the heuristic rules based on the viewer interaction data. 7.A computer-implemented method of determining at least one demographicattribute of a video or audio presentation being presented to a viewer,the method comprising: (a) monitoring viewer interactions with amultimedia device; (b) processing the viewer interactions to obtainviewer interaction data corresponding to the viewer interactions; (c)retrieving one or more previously developed heuristic rules, wherein thepreviously developed heuristic rules relate at least one aspect of theviewer interaction data to the at least one demographic attribute of thevideo or audio presentation, and wherein the previously developedheuristic rules have been previously developed through the applicationof at least one heuristic process; (d) applying one or more of thepreviously developed heuristic rules to at least a subset of the viewerinteraction data; and (e) inferring the at least one demographicattribute of the video or audio presentation being watched by a viewerbased on the application of the previously developed heuristic rules. 8.The method of claim 7, wherein the heuristic rules are probabilistic innature.
 9. The method of claim 7, wherein the at least one demographicattribute is expressed as a probability assigned by the heuristic rulesbased on the viewer interaction data.
 10. The method of claim 7, whereinthe viewer interaction data includes at least some subset of: (a)viewing time per channel, category, or network; (b) channel changes pertime; (c) average volume per time period, channel, category, or network;and (d) dwell time per channel, category, or network.
 11. The method ofclaim 7, wherein the at least one heuristic process incorporates atleast two types of analysis selected from the group consisting ofexploratory problem-solving, self-learning, discovery, experiments,trial and error, inferences, educated guesses, market studies, humanknowledge and experience.
 12. The method of claim 7, further comprising:(f) reporting the at least one demographic attribute, wherein the reportincludes predictive values of the at least one demographic attribute andat least one other demographic attribute, and wherein the predictivevalues are assigned by the heuristic rules based on the viewerinteraction data.
 13. A computer-implemented method of determining whichviewer or viewers of an audience of a video or audio presentation areviewing the video or audio presentation, the method comprising: (a)monitoring viewer interactions with a multimedia device; (b) processingthe viewer interactions to obtain viewer interaction data correspondingto the viewer interactions of at least one viewer; (c) retrieving one ormore previously developed heuristic rules, wherein the previouslydeveloped heuristic rules relate at least one aspect of the viewerinteraction data to at least one characteristic of a viewer, wherein thepreviously developed heuristic rules have been previously developedthrough the application of at least one heuristic process; (d) applyingone or more of the previously developed heuristic rules to at least asubset of the viewer interaction data; and (e) inferring which viewer orviewers of a plurality of viewers of the audience are viewing the videoor audio presentation based on the application of the previouslydeveloped heuristic rules.
 14. The method of claim 13, wherein theheuristic rules of step (d) are applied at least to a subset ofpreviously stored viewer interaction data.
 15. The method of claim 14,wherein the inferring of step (e) utilizes the application of theheuristic rules to the previously stored viewer interaction data. 16.The method of claim 13, wherein the heuristic rules are probabilistic innature.
 17. The method of claim 13, wherein the at least on inferredcharacteristic is expressed as a probability assigned by the heuristicrules based on the viewer interaction data.
 18. The method of claim 13,wherein the viewer interaction data includes at least some subset of:(a) viewing time per channel, category, or network; (b) channel changesper time; (c) average volume per time period, channel, category, ornetwork; and (d) dwell time per channel, category, or network.
 19. Themethod of claim 13, wherein the at least one heuristic processincorporates at least two types of analysis selected from the groupconsisting of exploratory problem-solving, self-learning, discovery,experiments, trial and error, inferences, educated guesses, marketstudies, human knowledge and experience.
 20. A computer-implementedmethod of determining which viewer or viewers in a household are viewinga video or audio presentation, the method comprising: (a) monitoringviewer interactions with a multimedia device; (b) processing the viewerinteractions to obtain viewer interaction data corresponding to theviewer interactions of the household; (c) retrieving on or morepreviously developed heuristic rules, wherein the previously developedheuristic rules relate viewer interaction data to at least onecharacteristic of a viewer, wherein the previously developed heuristicrules have been previously developed through the application of at leastone heuristic process; (d) applying one or more of the previouslydeveloped heuristic rules to at least a subset of the viewer interactiondata; and (e) inferring which viewer or viewers in the household areviewing the video or audio presentation based on the application ofheuristic rules.
 21. The method of claim 20, wherein the heuristic rulesof step (d) are applied at least to a subset of previously stored viewerinteraction data.
 22. The method of claim 21, wherein the inferring ofstep (e) utilizes the application of the heuristic rules to thepreviously stored viewer interaction data.
 23. The method of claim 20,wherein the heuristic rules are probabilistic in nature.
 24. The methodof claim 20, wherein the at least on inferred characteristic isexpressed as a probability assigned by the heuristic rules based on theviewer interaction data.
 25. The method of claim 20, wherein the viewerinteraction data includes at least some subset of: (a) viewing time perchannel, category, or network; (b)channel changes per time; (c) averagevolume per time period, channel, category, or network; and (d) dwelltime per channel, category, or network.
 26. The method of claim 20,wherein the at least one heuristic process incorporates at least twotypes of analysis selected from the group consisting of exploratoryproblem-solving, self-learning, discovery, experiments, trial and error,inferences, educated guesses, market studies, human knowledge andexperience.